package com.zmc.lostfound.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zmc.lostfound.common.utils.PageResult;
import com.zmc.lostfound.common.utils.Result;
import com.zmc.lostfound.system.entity.FeedbackEntity;
import com.zmc.lostfound.system.vo.FeedbackQueryVO;
import com.zmc.lostfound.system.vo.FeedbackSaveVO;

import java.util.List;

/**
 * @author ZMC
 * @description 反馈信息管理业务接口
 * @email 2869581855@qq.com
 * @date 2023-07-05 15:36:50
 */
public interface FeedbackService extends IService<FeedbackEntity> {

    /**
     * 多条件查询用户反馈信息
     *
     * @param feedbackQueryVO 用户反馈查询请求体
     * @return PageResult
     */
    PageResult queryPage(FeedbackQueryVO feedbackQueryVO);

    /**
     * 按id查询用户反馈信息
     *
     * @param id 反馈id
     * @return FeedbackEntity
     */
    FeedbackEntity queryInfoById(Long id);

    /**
     * 新增用户反馈信息
     *
     * @param feedbackSaveVO 反馈信息新增/修改请求体
     * @return Result
     */
    Result insertFeedback(FeedbackSaveVO feedbackSaveVO);

    /**
     * 修改用户反馈信息
     *
     * @param feedbackSaveVO 反馈信息新增/修改请求体
     * @return Result
     */
    Result updateFeedback(FeedbackSaveVO feedbackSaveVO);

    /**
     * 按反馈ids批量删除用户反馈信息
     *
     * @param feedbackIds 反馈ids
     * @return Result
     */
    Result deleteBatchByIds(List<Long> feedbackIds);

    /**
     * 按用户id和系统功能id删除用户反馈信息
     *
     * @param functionId 系统功能id
     * @param userId     反馈用户id
     * @return Result
     */
    Result deleteByUserIdAndFunctionId(Long userId, Long functionId);

}

